package edu.nf.ch07.mapper;

import edu.nf.ch07.entity.City;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

/**
 * @author CSY
 * @date 2025 - 04 - 25
 */
public interface CityMapper {
    /**
     * 分页查询，使用mybatis自带的RowBounds对象进行分页
     * 这种分页并不是基于数据库语句分页，而是直接将所有
     * 数据查询到内存中再进行逻辑分页。因此在大数据量的时候
     * 这种方式是不可取的
     * @param rowBounds
     * @return
     */
    List<City> pageCity(RowBounds rowBounds);

    /**
     * 使用分页插件
     * 注意：注解参数名称默认值为pageNum何pageSize
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<City> pageCity2(@Param("pageNum") int pageNum,
                         @Param("pageSize") int pageSize);
}
